extends KinematicBody2D


var speed = 200 # 速度值
var direction = Vector2.ZERO # 方向向量
var velocity = Vector2.ZERO # 速度向量

func _ready(): 
	# 速度向量 = 方向向量 * 速度值
	velocity = direction * speed


func _physics_process(delta): # 每物理帧
	velocity = Vector2.ZERO # 速度向量归零
	direction = Vector2.ZERO # 方向向量归零
	# 根据按键获取八向方向向量
	if Input.is_action_pressed("ui_left"):
		direction.x -= 1
	if Input.is_action_pressed("ui_right"):
		direction.x += 1
	if Input.is_action_pressed("ui_up"):
		direction.y -= 1
	if Input.is_action_pressed("ui_down"):
		direction.y += 1
	# 计算速度向量
	# 速度向量 = 方向向量 * 速度值
	velocity = direction * speed
	# 按速度向量进行移动和碰撞检测
	var vel = move_and_collide(velocity * delta)
